package com.yinhai.message.manage.msgmg.dao;

import com.yinhai.core.common.api.base.IPage;
import com.yinhai.message.manage.msgmg.vo.MessageDetailVo;
import com.yinhai.message.manage.msgmg.vo.MessageFileVo;
import com.yinhai.message.manage.msgmg.vo.MessageVo;

import java.util.List;
import java.util.Map;

/**
 * @author aolei 2017年3月28日19:36:56
 *         <p>
 *         通知管理dao
 */
public interface IMessageMgDao {

    /**
     * 查询 消息信息
     *
     * @param hql
     * @param start
     * @param limit
     * @param gridId
     * @return
     */
    IPage<MessageVo> queryMessagesByParam(String hql, Map param, int start, int limit, String gridId);


    /**
     * 根据 messageId查询 message的详细信息
     *
     * @param hql
     * @param param
     * @param start
     * @param limit
     * @param gridId
     * @return
     */
    IPage<MessageDetailVo> queryMessageDetailsByMsgId(String hql, Map param, int start, int limit, String gridId);


    String queryMessageContextByMessageId(String hql, String param);

    /**
     * 获取全部用户信息
     *
     * @param hql
     * @param destory
     * @param effective
     * @return
     */
    List<MessageDetailVo> getAlllUserInfo(String hql, String destory, String effective);


    /**
     * 根据messageId查询文件附件信息
     *
     * @param messageId
     * @return
     */
    List<MessageFileVo> queryMessageFilesByMessageId(String hql, String messageId);

}